package com.ruoyi.transfers.mapper;

import java.util.List;
import com.ruoyi.transfers.domain.WGoodsTransferRel;
import org.apache.ibatis.annotations.Param;

/**
 * 货转关联Mapper接口
 * 
 * @author ruoyi
 * @date 2023-11-15
 */
public interface WGoodsTransferRelMapper 
{
    /**
     * 查询货转关联
     * 
     * @param goodsTransferId 货转关联主键
     * @return 货转关联
     */
    public WGoodsTransferRel selectWGoodsTransferRelByGoodsTransferId(Long goodsTransferId);

    /**
     * 查询货转关联列表
     * 
     * @param wGoodsTransferRel 货转关联
     * @return 货转关联集合
     */
    public List<WGoodsTransferRel> selectWGoodsTransferRelList(WGoodsTransferRel wGoodsTransferRel);

    /**
     * 新增货转关联
     * 
     * @param wGoodsTransferRel 货转关联
     * @return 结果
     */
    public int insertWGoodsTransferRel(WGoodsTransferRel wGoodsTransferRel);

    /**
     * 修改货转关联
     * 
     * @param wGoodsTransferRel 货转关联
     * @return 结果
     */
    public int updateWGoodsTransferRel(WGoodsTransferRel wGoodsTransferRel);

    /**
     * 删除货转关联
     * 
     * @param goodsTransferId 货转关联主键
     * @return 结果
     */
    public int deleteWGoodsTransferRelByGoodsTransferId(Long goodsTransferId);

    /**
     * 批量删除货转关联
     * 
     * @param goodsTransferIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWGoodsTransferRelByGoodsTransferIds(Long[] goodsTransferIds);

    /**
     * 新增货转关联
     *
     * @param goodsIds 货转关联
     * @param goodsTransferId 货转关联
     * @return 结果
     */
    public int insertWGoodsTransferRelExt(@Param("goodsIds") List<Long> goodsIds, @Param("goodsTransferId") Long goodsTransferId);

    /**
     * 新增货转关联
     *
     * @param goodsIds 货转关联
     * @param goodsTransferId 货转关联
     * @return 结果
     */
    public int deleteWGoodsTransferRelExt(@Param("goodsIds") List<Long> goodsIds, @Param("goodsTransferId") Long goodsTransferId);

    /**
     * 新增货转关联
     *
     * @param goodsIds 货转关联
     * @param goodsTransferId 货转关联
     * @return 结果
     */
    public List<Long> selectWGoodsTransferRelExt(@Param("goodsIds") List<Long> goodsIds, @Param("goodsTransferId") Long goodsTransferId);

}